/*
 * Mail window
 */
MyDesktop.MailWindow = Ext.extend(Ext.app.Module, {
	id : 'win-mail',
	init : function() {
		this.launcher = {
			text : '邮件',
			iconCls : 'icon-grid',
			handler : this.createWindow,
			scope : this
		}
	},

	inboxStore : new Ext.data.Store({
		autoLoad : true,
		reader : new Ext.data.XmlReader({
			record : 'mail'
		}, [{
			name : 'sender'
		}, {
			name : 'title'
		}, {
			name : 'content'
		}, {
			name : 'sendTime'
		}]),
		url : 'dummyXML/inbox.xml'
	}),

	inboxModel : new Ext.grid.ColumnModel([new Ext.grid.RowNumberer(), {
		header : "发件人",
		width : 100,
		sortable : true,
		dataIndex : 'sender'
	}, {
		header : "标题",
		width : 400,
		sortable : true,
		dataIndex : 'title'
	}, {
		header : "发送时间",
		width : 150,
		sortable : true,
		dataIndex : 'sendTime'
	}]),

	outboxStore : new Ext.data.Store({
		autoLoad : true,
		reader : new Ext.data.XmlReader({
			record : 'mail'
		}, [{
			name : 'receiver'
		}, {
			name : 'title'
		}, {
			name : 'content'
		}, {
			name : 'sendTime'
		}]),
		url : 'dummyXML/outbox.xml'
	}),

	outboxModel : new Ext.grid.ColumnModel([new Ext.grid.RowNumberer(), {
		header : "收件人",
		width : 100,
		sortable : true,
		dataIndex : 'receiver'
	}, {
		header : "标题",
		width : 400,
		sortable : true,
		dataIndex : 'title'
	}, {
		header : "发送时间",
		width : 150,
		sortable : true,
		dataIndex : 'homePhone'
	}]),

	createWindow : function() {
		var desktop = this.app.getDesktop();
		var win = desktop.getWindow('win-mail');
		if (!win) {
			win = desktop.createWindow({
				id : 'win-mail',
				title : '邮件',
				width : 740,
				height : 480,
				iconCls : 'icon-grid',
				shim : false,
				animCollapse : false,
				constrainHeader : true,
				layout : 'border',
				items : [new Ext.grid.GridPanel({
					id : 'mail-list',
					region : 'center',
					minSize : 200,
					maxSize : 250,
					border : true,
					ds : this.inboxStore,
					cm : this.inboxModel,
					tbar : [{
						id : 'tb-new-mail',
						text : '写信',
						tooltip : '编写并发送新邮件',
						iconCls : 'add'
					}, '-', {
						id : 'tb-inbox',
						text : '收件箱',
						tooltip : '查看邮件',
						iconCls : 'option'
					}, '-', {
						id : 'tb-outbox',
						text : '发件箱',
						tooltip : '查看已发邮件',
						iconCls : 'remove'
					}]
				}), new Ext.Panel({
					id : 'mail-detail',
					region : 'south',
					split : true,
					collapsible : true,
					title : 'Mail title Goes here',
					border : true,
					minSize : 100,
					height : 200,
					maxSize : 300,
					html : 'Here is the mail body'
				})]
			});
		}
		win.show();
	}
});
